#ifndef FRAME
#define FRAME

class Frame
{
    private:
        int sender;
        int destinationer;
        int frameType;
        char message[5];
        int frame_check_sequence;

    public:
        static const int ACK = 1001;
        static const int NAK = -1;
        static const int FINISHED = -1;
        static const int DATA_FRAME = 1;
        static const int ACK_FRAME = 0;
        
        Frame();
        Frame(int, int, bool, int, int);
        
        int getSender();
        int getDestinationer();
        int getFrameType();
        char* getMessage();
        int getFCS();

        void setSender(int);
        void setDestinationer(int);
        void setFrameType(int);
        void setMessage(char []);
        void setFCS(int);
        
        static Frame getNullFrame();
        static bool isNullFrame(Frame);
};
#endif
